﻿using System;
using InterfaceLiftLib.Converters.Json;
using Newtonsoft.Json;

namespace InterfaceLiftLib.Models
{
    public class WallpaperDownloadInfos
    {
        [JsonProperty("wallpaper_id")]
        public int WallpaperId { get; protected set; }

        [JsonProperty("filename")]
        public string FileName { get; protected set; }

        [JsonProperty("resolution")]
        [JsonConverter(typeof(ResolutionConverter))]
        public Resolution Resolution { get; protected set; }

        [JsonProperty("timestamp_current")]
        [JsonConverter(typeof(UnixTimestampToDateTimeConverter))]
        public DateTime RequestDateTime { get; protected set; }

        [JsonProperty("timestamp_expires")]
        [JsonConverter(typeof(UnixTimestampToDateTimeConverter))]
        public DateTime RequestExpirationDateTime { get; protected set; }

        [JsonProperty("download_size_in_bytes")]
        public int DownloadSizeInBytes { get; protected set; }

        [JsonProperty("download_url")]
        public string DownloadUrl { get; protected set; }
    }
}
